package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 研学活动对象 activities
 *
 * @author xin
 * @date 2024-04-19
 */
public class Activity extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 活动名称 */
    @Excel(name = "活动名称")
    private String activityName;

    /** 活动类型 历史研学,自然科学,社会实践,文化交流..... */
    @Excel(name = "活动类型 历史研学,自然科学,社会实践,文化交流.....")
    private String activityType;

    /** 出发地 */
    private String departureLocation;

    /** 目的地 */
    private String purposeLocation;

    /** 活动报名开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "活动报名开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date activityStartDate;

    /** 活动报名结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "活动报名结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date activityEndDate;

    /** 活动天数 */
    private Integer travelDays;

    /** 活动详细描述 */
    private String description;

    /** 参与活动的年龄范围 */
    private String participantAgeRange;

    /** 活动参与人数限制 */
    private Long participantLimit;

    /** 活动费用 */
    private BigDecimal price;

    /** 联系人姓名 */
    @Excel(name = "联系人姓名")
    private String contactName;

    /** 联系人电话 */
    @Excel(name = "联系人电话")
    private String contactPhone;

    /** 活动宣传图片 */
    private String activityImagePath;

     /** 活动详情图片 */
    private String activityDetailImagePath;

    /** 活动状态 */
    private Long status;

    /** 排序 */
    @Excel(name = "排序")
    private Long sort;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setActivityName(String activityName)
    {
        this.activityName = activityName;
    }

    public String getActivityName()
    {
        return activityName;
    }
    public void setActivityType(String activityType)
    {
        this.activityType = activityType;
    }

    public String getActivityType()
    {
        return activityType;
    }
    public void setDepartureLocation(String departureLocation)
    {
        this.departureLocation = departureLocation;
    }

    public String getDepartureLocation()
    {
        return departureLocation;
    }
    public void setPurposeLocation(String purposeLocation)
    {
        this.purposeLocation = purposeLocation;
    }

    public String getPurposeLocation()
    {
        return purposeLocation;
    }
    public void setActivityStartDate(Date activityStartDate)
    {
        this.activityStartDate = activityStartDate;
    }

    public Date getActivityStartDate()
    {
        return activityStartDate;
    }
    public void setActivityEndDate(Date activityEndDate)
    {
        this.activityEndDate = activityEndDate;
    }

    public Date getActivityEndDate()
    {
        return activityEndDate;
    }
    public void setTravelDays(Integer travelDays)
    {
        this.travelDays = travelDays;
    }

    public Integer getTravelDays()
    {
        return travelDays;
    }
    public void setDescription(String description)
    {
        this.description = description;
    }

    public String getDescription()
    {
        return description;
    }
    public void setParticipantAgeRange(String participantAgeRange)
    {
        this.participantAgeRange = participantAgeRange;
    }

    public String getParticipantAgeRange()
    {
        return participantAgeRange;
    }
    public void setParticipantLimit(Long participantLimit)
    {
        this.participantLimit = participantLimit;
    }

    public Long getParticipantLimit()
    {
        return participantLimit;
    }
    public void setPrice(BigDecimal price)
    {
        this.price = price;
    }

    public BigDecimal getPrice()
    {
        return price;
    }
    public void setContactName(String contactName)
    {
        this.contactName = contactName;
    }

    public String getContactName()
    {
        return contactName;
    }
    public void setContactPhone(String contactPhone)
    {
        this.contactPhone = contactPhone;
    }

    public String getContactPhone()
    {
        return contactPhone;
    }
    public void setActivityImagePath(String activityImagePath)
    {
        this.activityImagePath = activityImagePath;
    }

    public String getActivityImagePath()
    {
        return activityImagePath;
    }

    public String getActivityDetailImagePath() {
        return activityDetailImagePath;
    }

    public void setActivityDetailImagePath(String activityDetailImagePath) {
        this.activityDetailImagePath = activityDetailImagePath;
    }

    public void setStatus(Long status)
    {
        this.status = status;
    }

    public Long getStatus()
    {
        return status;
    }
    public void setSort(Long sort)
    {
        this.sort = sort;
    }

    public Long getSort()
    {
        return sort;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("activityName", getActivityName())
            .append("activityType", getActivityType())
            .append("departureLocation", getDepartureLocation())
            .append("purposeLocation", getPurposeLocation())
            .append("activityStartDate", getActivityStartDate())
            .append("activityEndDate", getActivityEndDate())
            .append("travelDays", getTravelDays())
            .append("description", getDescription())
            .append("participantAgeRange", getParticipantAgeRange())
            .append("participantLimit", getParticipantLimit())
            .append("price", getPrice())
            .append("contactName", getContactName())
            .append("contactPhone", getContactPhone())
            .append("activityImagePath", getActivityImagePath())
            .append("activityDetailImagePath", getActivityDetailImagePath())
            .append("status", getStatus())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("sort", getSort())
            .toString();
    }
}
